<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 深拷贝 ：复杂数据类型 之间 复制 不会出现引用问题 ；

        // var a = 10;
        // var b = a;
        // b = 20;
        // console.log(a);

        // 复杂数据类型 数组 对象 函数 正则 ...

        // var  obj = {
        //     myname:"hello",
        //     age:20
        // }

        // // 复制一个对象 
        // var obj2 = obj; // 浅拷贝 ，两个复杂数据类型之间会造成引用问题 。内存里是一个空间

        // obj2.age = 30;
        // console.log(obj);


        // 方式一： 通过json ：字符串
        // 固定格式的字符串,类似对象的结构
        // var str = '{"name":"张三","age":20}'; // json数据
        // 1.把对象或者数组转成json字符串 ：JSON.stringify
        // var obj = {
        //     name:"张三",
        //     age:20
        // }

        // console.log(obj);
        // var str = JSON.stringify(obj);
        // console.log(str);

        // 2.可以把json 转成 数组或者对象
        var obj = {
            name:"张三",
            age:20
        }
        // console.log(obj)
        var jsonStr = JSON.stringify(obj);
        // console.log(jsonStr);

        var obj2 = JSON.parse(jsonStr);
        // console.log(obj2);
        obj2.age = 30;
        console.log("obj2",obj2)
        console.log("obj",obj);



        



    </script>
</body>
</html>